在這個「循環工廠 (Circular Factory)」中,我們會需要一個軟體,它是一個雲原生架構,因為它就像是這個工廠的靈魂,指揮著這座工廠進行高效率的運作。以下我們就秉持著「需求、測試、設計」的精神來實現它,並以軟體循環經濟為目標。
值得注意的是,接下來的測試代碼更貼近於驗收測試,驗收測試不是單元測試。我們區分這兩者是因為它們著重的價值與內涵不同;驗收測試是寫給業務方的,單元測試是寫給程式設計師的;驗收測試更著重於介面的層級,如 API 或 UI,這正是我們軟體循環經濟想要做的。而兩者確實有共同性,共同性是它們的主要功能其實不是測試,而是文件與規格,它們描述並驗證了系統的設計、行為與結構是否達到指定的規格,這一點有其實用價值。
[TestMethod]
public void TestNewCAMS_ParticulateMatters()
{
CAMS_ParticulateMatters CAMS_PM = new CAMS_ParticulateMatters();
CAMS_PM.SamplingItemList.Add(new Opacity());
Assert.IsNotNull(CAMS_PM);
}
[TestMethod]
public void TestSamplingItemFactory()
{
CAMS_ParticulateMatters CAMS_PM = new CAMS_ParticulateMatters();
XDocument doc = XDocument.Load("CAMS_SamplingItemList.xml");
var query =
from c in doc.Descendants("CAMS_SamplingItem")
where (string)c.Attribute("CAMS") == "CAMS_ParticulateMatters"
select c;
foreach (XElement e in query)
{
SamplingItemBase item = SamplingItemFactory.CreateSamplingItem(
(string)e.Attribute("SamplingItem"));
CAMS_PM.SamplingItemList.Add(item);
}
Assert.IsNotNull(CAMS_PM);
}